#include "led_control.h"
#include <stdio.h>

// 定义LED控制引脚（固定为GPIO10，根据硬件接线可调整）
#define LED_CONTROL_GPIO  10

/**
 * @brief  GPIO10初始化（输出模式）
 */
void led_gpio_init(void) {
    // 1. 配置GPIO10为通用GPIO功能（取消复用为其他外设）
    hi_io_set_func(LED_CONTROL_GPIO, HI_IO_FUNC_GPIO_10_GPIO);
    
    // 2. 设置GPIO10为输出方向
    hi_gpio_set_dir(LED_CONTROL_GPIO, HI_GPIO_DIR_OUT);
    
    // 3. 默认输出低电平（LED灭，若硬件为“高电平亮”则改为HI_GPIO_VALUE_HIGH）
    hi_gpio_set_ouput_val(LED_CONTROL_GPIO, HI_GPIO_VALUE0);
    
    printf("LED GPIO10 init success! Default state: OFF\n");
}

/**
 * @brief  控制LED亮灭
 */
void led_set_state(int is_on) {
    if (is_on) {
        // 输出高电平 → LED亮
        hi_gpio_set_ouput_val(LED_CONTROL_GPIO, HI_GPIO_VALUE1);
        printf("LED state: ON\n");
    } else {
        // 输出低电平 → LED灭
        hi_gpio_set_ouput_val(LED_CONTROL_GPIO, HI_GPIO_VALUE0);
        printf("LED state: OFF\n");
    }
}